import wx from "weixin-js-sdk";
import moment from "moment";
import com from "../../utils/common";

function wxpay(obj) {
  console.log(obj)
  let temp = obj["msg"]
  let ext = obj['extra']
  let add = obj["add"];

  let prepay_id = temp["Prepay_id"];
  let configtimeStamp = ext['configtimeStamp'];
  let timeStamp = ext['timeStamp'];
  let nonceStr = add['Nonce_str'];
  let paySign = ext["paySign"];
  let signature = ext['jssignature'];
  let appId = temp["Appid"];

  function onBridgeReady() {
    WeixinJSBridge.invoke(
      'getBrandWCPayRequest', {
        "appId": appId,     //公众号名称，由商户传入
        "timeStamp": timeStamp,         //时间戳，自1970年以来的秒数
        "nonceStr": nonceStr, //随机串
        "package": "prepay_id=" + prepay_id,
        "signType": "MD5",         //微信签名方式：
        "paySign": paySign, //微信签名,
      },
      function (res) {
        if (res.err_msg == "get_brand_wcpay_request:ok") {
          // 使用以上方式判断前端返回,微信团队郑重提示：res.err_msg将在用户支付成功后返回    ok，但并不保证它绝对可靠。
          if (obj.ok) {
            obj.ok()
          }
        } else {
          if(obj.fail){
            obj.fail()
          }
          com.ajax({
            url: "/wx/cancelOrder",
            data: {
              out_trade_no: add.Out_trade_no
            },
            ok: function () {
              console.log("取消订单支付")
            }
          })
        }
      }
    );
  }

  if (typeof WeixinJSBridge == "undefined") {
    if (document.addEventListener) {
      document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
    } else if (document.attachEvent) {
      document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
      document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
    }
  } else {
    onBridgeReady();
  }
}

export default wxpay;